TbsPolyglotManager Class

TbsPolyglotManager Class

Syntax

type
  TbsPolyglotManager = class(TComponent)
  public
    constructor Create(AOwner: TComponent); override;
    destructor Destroy; override;
    procedure TranslateForm(AForm: TCustomForm);
    function GetString(ASection: string; AStringName: string; ADefault: string = ''): string;
    property LangCount: Integer read;
    property Langs[Index: Integer]: string read;
  published
    property LangsDir: string read write;
    property CurrentLang: string read write;
    property CurrentLangChanging: TCurrentLangChangingEvent read write;
    property LangsDirChanging: TLangsDirChangingEvent read write;
    property TranslateResourceStrings: Boolean read write;
    property BeforeAllTranslate: TNotifyEvent read write;
    property AfterAllTranslate: TNotifyEvent read write;
  end;

Overview

Normally you need only one instance of TbsPolyglotManager on your main form or main data module. TbsPolyglotManager is stateless class and it is just like configuration utility for  TbsCorePolyglot . Normally you need access to only three items:

LangsDir - get/set a folder which contains LNG files;

Current Lang - set/set currently loaded LNG file;

GetString - read a string from currently loaded LNG file. This function is useful for translating different messages.

CurrentLangChanging - fires before change current language and provides an ability to cancel change;

LangsDirChanging - fires before change folder with LNG files and provides an ability to cancel change;

BeforeAllTranslate - fires after changes to current language or folder with LNG files, but before refreshing translators;

AfterAllTranslate - fires after full retranslate all translators;

See Also

GetString, TranslateForm, CurrentLang, LangsDir, CurrentLangChanging, LangsDirChanging, BeforeAllTranslate, AfterAllTranslate, TranslateResourceStrings, LangCount, Langs